package gepes.negocio;

import gepes.dao.MatriculaDAO;
import gepes.exepcion.DAOExcepcion;
import gepes.modelo.Clase;
import gepes.modelo.Estudiante;
import gepes.modelo.Matricula;
import gepes.modelo.PagoEstudiante;
import gepes.modelo.TipoDocumento;
import gepes.modelo.TipoMoneda;
import gepes.modelo.Usuario;

import java.util.Collection;

public class GestionMatricula {
	
	public Matricula insertar(int codClase, int codEstudiante) throws DAOExcepcion {
		MatriculaDAO dao = new MatriculaDAO();
		Matricula vo = new Matricula();
		vo.setClase(new Clase(codClase, ""));
		vo.setEstudiante(new Estudiante(codEstudiante));
		

		if (dao.existe(codClase, codEstudiante) > 0) {
			throw new DAOExcepcion("Estudiante ya fue registrado para esta clase");
		}	
		return (Matricula) dao.insertar(vo);
	}
	public PagoEstudiante insertarPago(int codMatricula, float  monto) throws DAOExcepcion {
		MatriculaDAO dao = new MatriculaDAO();
		PagoEstudiante vo = new PagoEstudiante();
		vo.setMatricula(new Matricula(codMatricula));
		vo.setMonto(monto);
		vo.setMoneda(new  TipoMoneda(1));
		if (dao.validapagos(codMatricula, monto)) {
			throw new DAOExcepcion("Monto supera al costo");
		}	
		return (PagoEstudiante) dao.insertaPago(vo);
	}

	public Collection<PagoEstudiante> listarPagos(int codClase, int codEstudiante) throws DAOExcepcion {
		MatriculaDAO dao = new MatriculaDAO();
		Collection<PagoEstudiante> vo = dao.listarPagos(codClase, codEstudiante);
		return vo;
	}
}
